﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//int main()
//{
//	int arr[10] = { 0 };
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	int* p = arr;
//	int i = 0;
//	for (i = 0; i < sz; i++)
//	{
//		scanf("%d", p + i);
//	}
//	for (i = 0; i < sz; i++)
//	{
//		printf("%d ", *(p + i));
//	}
//}


//int main()
//{
//	int arr[10] = { 0 };
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	int* p = arr;
//	int i = 0;
//	for (i = 0; i < sz; i++)
//	{
//		scanf("%d", &p[i]);
//	}
//	for (i = 0; i < sz; i++)
//	{
//		printf("%d ", p[i]);
//	}
//}


//void test(int arr[])
//{
//	int sz2 = sizeof(arr) / sizeof(arr[0]);
//	printf("sz2 = %d\n", sz2);
//}
//int main()
//{
//	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
//	int sz1 = sizeof(arr) / sizeof(arr[0]);
//	printf("sz1 = %d\n", sz1);
//	test(arr);
//	return 0;
//}


//void test1(int arr[])//参数写成数组形式，本质上还是指针
//{
//	printf("%zd\n", sizeof(arr));
//}
//void test2(int* arr)//参数写成指针形式
//{
//	printf("%zd\n", sizeof(arr));//计算⼀个指针变量的⼤⼩
//}
//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	test1(arr);
//	test2(arr);
//	return 0;
//}


//写一个函数打印arr数组的内容，不使用数组下标，使用指针。
//arr是一个整形一维数组。
//void Print(int* p, int sz)
//{
//	int i = 0;
//	for (i = 0; i < sz; i++)
//	{
//		printf("%d ", *(p + i));
//	}
//}
//int main()
//{
//	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	Print(arr, sz);
//	return 0;
//}


//void init(int* p, int sz)
//{
//	int i = 0;
//	for (i = 0; i < sz; i++)
//	{
//		scanf("%d", (p + i));
//	}
//}
////冒泡排序
//void bubble_sort(int* p, int sz)
//{
//	int i = 0;
//	int count = 0;
//	for (i = 0; i < sz - 1; i++)
//	{
//		int j = 0;
//		for (j = 0; j < sz - 1 - i; j++)
//		{
//			if (*(p + j) < *(p + j + 1))
//			{
//				int tmp = *(p + j);
//				*(p + j) = *(p + j + 1);
//				*(p + j + 1) = tmp;
//			}
//			else
//			{
//				count++;
//			}
//		}
//		if (count == sz - 1 - i)
//		{
//			break;
//		}
//	}
//}
//void print(int* p, int sz)
//{
//	int i = 0;
//	for (i = 0; i < sz; i++)
//	{
//		printf("%d ", *(p + i));
//	}
//}
//int main()
//{
//	int arr[10] = { 9,10,8,7,6,5,4,3,2,1 };
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	//init(arr, sz);
//	bubble_sort(arr, sz);//改成降序
//	print(arr, sz);
//	return 0;
//}


//void init(int* p, int sz)
//{
//	int i = 0;
//	for (i = 0; i < sz; i++)
//	{
//		scanf("%d", (p + i));
//	}
//}
//冒泡排序
//void bubble_sort(int* p, int sz)
//{
//	int i = 0;
//	for (i = 0; i < sz - 1; i++)//趟数
//	{
//		int flag = 1;//注意这个定义的位置。
//		int j = 0;
//		for (j = 0; j < sz - 1 - i; j++)//每一趟
//		{
//			if (*(p + j) < *(p + j + 1))
//			{
//				int tmp = *(p + j);
//				*(p + j) = *(p + j + 1);
//				*(p + j + 1) = tmp;
//				flag = 0;//一旦进入就变为0。
//			}	
//		}
//		if (flag == 1)//等于1，代表if一次也没有执行。
//		{
//			break;
//		}
//	}
//}
//void print(int* p, int sz)
//{
//	int i = 0;
//	for (i = 0; i < sz; i++)
//	{
//		printf("%d ", *(p + i));
//	}
//}
//int main()
//{
//	int arr[10] = { 9,10,8,7,6,5,4,3,2,1 };
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	//init(arr, sz);
//	bubble_sort(arr, sz);//改成降序
//	print(arr, sz);
//	return 0;
//}